#include <stdio.h>
#include <unistd.h>

int main(int argc, char *argv[])
{
    printf("\tpid\tppid\tpgid\tuid\tgid\teuid\tegid\n");
    //获取父进程的 进程ID、父进程ID、进程组ID、实际用户ID、实际组ID、有效用户ID、有效组ID
    printf("parent\t%d\t%d\t%d\t%d\t%d\t%d\t%d\n", getpid(), getppid(), getpgid(0), getuid(), getgid(), geteuid(), getegid());
    if (fork() == 0) {
        //获取子进程的 进程ID、父进程ID、进程组ID、实际用户ID、实际组ID、有效用户ID、有效组ID
        printf("son\t%d\t%d\t%d\t%d\t%d\t%d\t%d\n", getpid(), getppid(), getpgid(0), getuid(), getgid(), geteuid(), getegid());
    }
    return 0;
}